//添加数据库代理
const db = wx.cloud.database()
const details = db.collection('bigSet')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    content1:'',
    content2:''
  },

  //添加到收藏夹
  addFavorites: function (e) {
    //console.log(e.currentTarget.dataset.id,)
    let that = this
    let detail = this.data.detail; //获取当前详情
    wx.setStorageSync(detail._id, detail); //添加到本地缓存
    this.setData({
      isAdd: true
    }); //更新按钮显示
    wx.showToast({  //提示收藏成功
      title: '收藏成功！',
    })
    //使用云函数同步数据库收藏数加一
    wx.cloud.callFunction({
      name: 'operate2',
      data: {
        id: e.currentTarget.dataset.id,
        action: 'add1'
      }
    })
    .then(res => {
      console.log("修改收藏数加一成功", res)
      //实时显示点赞数加一
      that.data.detail.collect_num += 1
      that.setData({
        detail: that.data.detail
      })
      return res
    })
    .catch(res => {
      console.log("修改收藏数加一失败", res)
      return res
    })
    //更新缓存
    wx.removeStorageSync(detail._id)
    wx.setStorageSync(detail._id, that.data.detail)
  },

  //取消收藏
  cancelFavorites: function (e) {
    let that = this
    let detail = this.data.detail; //获取当前详情
    wx.removeStorageSync(detail._id); //从本地缓存删除
    this.setData({
      isAdd: false
    }); //更新按钮显示
    wx.showToast({    //提示取消收藏成功
      title: '取消收藏！',
    })
    //使用云函数同步到数据库收藏数减一
    wx.cloud.callFunction({
      name: 'operate2',
      data: {
        id: e.currentTarget.dataset.id,
        action: 'sub'
      }
    })
    .then(res => {
      console.log("修改收藏数减一成功", res)
      return res
    })
    .catch(res => {
      console.log("修改收藏数减一失败", res)
      return res
    })
    //实时显示点赞数加一
    that.data.detail.collect_num -= 1
    that.setData({
      detail: that.data.detail
    })
  },

  //转发数加一
  shareAdd:function(e){
    //console.log(e.currentTarget.dataset.id,)
    let that = this
    let detail = this.data.detail; //获取当前详情
    //使用云函数同步数据库收藏数加一
    wx.cloud.callFunction({
      name: 'operate2',
      data: {
        id: e.currentTarget.dataset.id,
        action: 'add2'
      }
    })
    .then(res => {
      console.log("修改转发数加一成功", res)
      return res
    })
    .catch(res => {
      console.log("修改转发数加一失败", res)
      return res
    }) 
    //实时显示点赞数加一
    that.data.detail.share_num += 1
    that.setData({
      detail: that.data.detail
    })
    //更新缓存
    wx.removeStorageSync(detail._id)
    wx.setStorageSync(detail._id, that.data.detail)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //显示loading提示框
    wx.showLoading({
      title: '数据加载中'
    })

    //获取编号
    let id = options.id
    //根据ID查找是否在收藏夹中
    let detail = wx.getStorageSync(id)

    //已存在
    if (detail != '') {
      this.setData({
        detail: detail,
        //自定义换行符,添加到所赋的值中，因为云数据库传来的数据，前端无法识别换行标识\n
        content1:  (detail.content1  +  "").split("&n").join('\n'), 
        content2:  (detail.content2  +  "").split("&n").join('\n'),
        isAdd: true
      })
      //隐藏loading提示框
      wx.hideLoading()
    }
    //不存在
    else {
      //根据ID在云数据寻找新闻内容
      details.doc(id).get({
        success: res => {
          //更新页面上的信息和收藏夹状态
          this.setData({
            detail: res.data,
            content1: (res.data.content1  +  "").split("&n").join('\n'),
            content2: (res.data.content2  +  "").split("&n").join('\n'),
            isAdd: false
          })
          //console.log(this.data.detail)
          //隐藏loading提示框
          wx.hideLoading()
        }
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (e) {
    return {
      title: "好的东西就该与你分享！",
      path: 'pages/detail/detail?=' + this.data.detail._id
    }
  }
})